import random


class Config:
    """ IN_RULE """
    """
    len(IN_RULE): 输入总行数
    [
    # 第一行 -- 一个输入
    [[1, 100000]],
    # 第二行 -- 二个输入
        [
        # 第一个输入的范围
        [1,100000], 
        # 第二个输入的范围
        [2, 5000]
        # 固定则固定输入
        [[5]]
        ],
    ]
    """
    SOLVE_FILE = "stand_solve.cpp"
    PROBLEM_NAME = "最大公约数"

    # 生成多少个测试点
    IN_NUM = 13

    # 输入行数的每行数字范围
    IN_RULE = [
        [[1, int(1e8)], [1, int(1e8)]]
    ]
    # 是否DIY
    IS_DIY = True

def update_in_rule():
    """ 动态更新全局的 IN_RULE 配置 """
    # 将特殊规则赋给Config的IN_RULE
    # 不规则行数决定变量 -- 可以随意编写数量 
    IN_CONST = {
        'n': random.randint(1, 100000),  # 生成一个随机的n值
    }
    # 编写规则
    IN_RULE = [
        [[IN_CONST['n']]],  # 第一行规则：先是n，然后是范围[1, 100000]
    ]
    for i in range(IN_CONST['n']):
        IN_RULE.append([[1,int(2e9)], [1,int(2e9)]])

    Config.IN_RULE = IN_RULE


